package Time.TimeJDK8.Data类;

import java.time.Instant;
import java.time.ZoneId;
import java.time.ZonedDateTime;

//Instant  时间戳
public class InstantIntroduce {
    public static void main(String[] args) {
        /*
         static Instant now()       获取当前时间的Instant对象（标准时间）
         static Instant ofxxxx(long epochRilli)       根据（秒/毫秒/纳秒）获取Instant对象
         ZonedDateTime atZone(ZoneId zone)        指定时区
         booleanisXxx(InstantotherInstant)       判断系列的方法
         InstantminusXxx(long millisToSubtract)     减少时间系列的方法
         Tnstant plusXxx(long millisToSubtract)      增加时间系列的方法
         */
        //获取当前时间的Instant对象（标准时间）
        Instant now=Instant.now();
        System.out.println(now);

        //根据（秒/毫秒/纳秒）获取Instant对象并对其修改
        Instant instant=Instant.ofEpochMilli(0L);
        System.out.println(instant);

        //时间原点过去的时间
        Instant instant1=Instant.ofEpochSecond(1L,1000000000L);
        System.out.println(instant1);

        //指定时区
        ZonedDateTime time=Instant.now().atZone(ZoneId.of("Asia/Shanghai"));
        System.out.println(time);

        //判断系列的方法
        Instant instant2=Instant.ofEpochMilli(0L);
        Instant instant3=Instant.ofEpochMilli(1000L);
        //isBefore:判断instant2的时间是否再instant3的前面
        boolean resulrt=instant2.isBefore(instant3);
        System.out.println(resulrt);
        //isAfter:判断instant2的时间是否再instant3的后面
        boolean resulrt1=instant2.isAfter(instant3);
        System.out.println(resulrt1);

        //减少时间系列的方法
        Instant instant4=Instant.ofEpochMilli(3000L);
        System.out.println(instant4);
        //减少对应时间
        Instant instant5= instant4.minusSeconds(1);
        System.out.println(instant5);

    }
}
